package gui;

import java.awt.BorderLayout;
import java.awt.Color;
import java.awt.Font;


import javax.swing.JFrame;

import javax.swing.JPanel;
import javax.swing.JScrollPane;
import javax.swing.JTextArea;
import javax.swing.JTextField;
import javax.swing.border.EmptyBorder;
import javax.swing.event.CaretEvent;
import javax.swing.event.CaretListener;
import javax.swing.text.BadLocationException;
import javax.swing.text.Caret;

public class Editor extends JPanel implements CaretListener {

	/**
	 * 
	 */
	JPanel contentPane;
	JTextArea editor;
	JFrame parent;
	JTextField estado;
	
	
	private static final long serialVersionUID = 1L;

	public Editor (){

		initComponents();
	}
	
	public void initComponents(){

		
		Font f = new Font ("Dialog",Font.BOLD,12);
		EmptyBorder b = new EmptyBorder(5, 5, 5, 5);
		//Panel contendor del editor
		
		setBorder(b);
		setLayout(new BorderLayout());
		setAutoscrolls(true);
		
		
		//Fin Panel contendor del editor

		
		//TextArea de edicion de codigo fuente
		editor = new JTextArea();
		editor.setForeground(Color.BLACK);
		editor.addCaretListener(this);
//		editor.setActionCommand("Menu Acerca");
//		editor.addActionListener(this);
		editor.setBorder(b);
		editor.setFont(f);
		editor.setEditable(true);
		JScrollPane sp = new JScrollPane(editor);
		add(sp,BorderLayout.CENTER);
		//Fin TextArea de edicion de codigo fuente
		
		//Barra de Estado

		estado = new JTextField();
		estado.setBorder(b);
		estado.setFont(f);
		estado.setEditable(false);
		estado.setHorizontalAlignment(JTextField.RIGHT);
		add(estado,BorderLayout.SOUTH);
		
		//Fin de Barra de Estado
		
		
		
	}
	public String getFuente(){
		
		return editor.getText();
	}
	public void setFuente(String f){
		
		editor.setText(f);
	}

	public void caretUpdate(CaretEvent e) {
		Caret c = editor.getCaret();
		 
		try {
			estado.setText("Linea: "+new Integer(editor.getLineOfOffset(c.getDot())+1).toString());
		} catch (BadLocationException e1) {
			// TODO Auto-generated catch block
			e1.printStackTrace();
		}
		
	}
	

}
